(1) Field of the Invention
The present invention relates to a data storing system in which a plurality of storing media drives exist on a single bus.
(2) Description of the Related Art
Drives such as optical disc drives, hard disk drives and tape drives and the like have been conventionally used for creating backup of large amount of data on storing media. FIG. 1 is a block diagram showing the structure of the conventional data storing system with a plurality of tape drives. The data storing system 101 comprises a data access control unit 111, a small computer system interface (SCSI) bus 112 and tape drives 121 to 123 of same-specification. The tape drives 121 to 123 are connected with the data access control unit 111 via the SCSI bus 112. The data access control unit 111 is a personal computer or the like and comprises a CPU 113, a memory 114 and a bus interface unit 115 inside.
The data access control unit 111 is connected with the hard disk 102 that is an external device, sends the access request to the tape drives 121 to 123 and the hard disk 102 by receiving a request from a user, and executes a data transmission between the tape drives 121 to 123 and the hard disk 102. The SCSI bus 112 is a data transmission line for realizing a parallel data transmission between the data access control unit 111 connected with the SCSI bus 112 and the external device. The CPU 113 is an operation processing unit for executing a control program held in the memory 114 and controlling the data transmission in the data storing system 101. The memory 114 is realized by a read only memory (ROM), a random access memory (RAM), a hard disk or the like, and it prestores the control program of the data access control unit 111 and provides a storage area for storing the data of the data access control unit 111 temporally. The bus interface unit 115 is a processing unit for executing the interface function between the data access control unit 111 and the SCSI bus 112. The tape drives 121 to 123 receive an access request from the data access control unit 111 and perform data reading from a tape and data writing on a tape.
The tape drives 121 to 123 have an internal buffer respectively, temporally store the data transferred via the SCSI bus 112 in the internal buffers, read the stored data from the internal buffers and write the data on a tape. Also, when reading, the tape drive 121 to 123 temporally store the data read from the tape in the internal buffers and then send the data from the internal buffers to the SCSI bus 112. FIG. 2 is a graph showing temporal changes of the data amount stored in the internal buffers of the respective tape drives 121 to 123 shown in FIG. 1. FIG. 2A is a graph showing temporal changes of the data amount stored in the internal buffers of the tape drive 121 when writing data. FIG. 2B is a graph showing temporal changes of the data amount stored in the internal buffers of the tape drive 122 when reading data. FIG. 2C is a graph showing temporal changes of the data amount stored in the internal buffers of the tape drive 123 when writing data. Here, the respective tape drives 121 to 123 perform tape reading or writing in parallel. As shown in FIG. 2A, the tape drive 121 performs data writing processing, and the data to be transmitted via the SCSI bus 112 is stored in the internal buffer. For example, data transmitted via the SCSI bus 112 is stored in the internal buffer to its full level between time t0 and time t1. When the internal buffer is going to overflow, the tape drive 121 disconnects the SCSI bus 112 and stops data transmitting from the data access control unit 111 to the internal buffer until the data amount stored in the internal buffer reaches the internal buffer writing threshold, that is, the timing of reconnecting the bus.
On the other hand, meanwhile, data is read from the tape to the internal buffer of the tape drive 122 and the read data is stored in the internal buffer. The tape drive 122 cannot use the SCSI bus 112 because the SCSI bus 112 is used by the tape drive 121 that has the higher priority although the data read from the tape is stored in the internal buffer and reaches the timing of reconnecting the bus (at the time t0). Consequently, the tape drive 122 stops running the tape and reading the data from the tape when the internal buffer is going to overflow (at the time t1). When the SCSI bus 112 is disconnected (at the time t2) by the tape drive 121, the tape drive 122 that has the next bus use right reconnects with the SCSI bus 112, reads the data stored in the internal buffer and starts transmitting the data to the data access control unit 111 (at the time t3).
Meanwhile, for example, as the data stored in the internal buffer has been already read, the tape drive 123 cannot use the SCSI bus 112 because the use right of the SCSI bus 112 is given to the tape drive 122 even when the remaining data amount of the internal buffer reaches the internal buffer writing threshold (the timing of reconnecting the bus) at this timing (at the time t2). Therefore, the tape drive 123 stops running the tape and writing the data on the tape when the internal buffer of the tape drive 123 is going to underflow (at the time t4).
Also, meanwhile, the data stored in the internal buffer of the tape drive 122 is transmitted to the data access control unit 111 via the SCSI bus 112, and the remaining data amount of the internal buffer becomes empty (at the time t5). When the data stored in the internal buffer by reading out the data is going to underflow, the tape drive 122 disconnects the SCSI bus 112 and stops data transmitting from the internal buffer to the data access control unit 111 until the data read from the tape reaches the internal buffer reading threshold (the timing of reconnecting the bus). In this way, the tape drive 123 can acquire the use right of the SCSI bus 112, reconnect with the SCSI bus 112 and start data transmitting from the data access control unit 111 to the internal buffer (at the time t6).
However, as the tape drive needs repositioning of the tape position when the tape running is stopped, there occurs a several second time loss before starting the next reading or writing and there also occurs a problem that frequent stoppage of running the tape causes the deterioration of the data transmission performance or the damage (abrasion or the like) of the components. Also, when using a plurality of disc drives instead of the above-mentioned tape drives 121 to 123, when data writing is stopped depending on the condition of the internal buffer, (i) there is a problem that rotational delay occurs until the head reaches the next writing position on the track depending on the head position when starting the next data writing. This problem is remarkable when using an optical disc drive with a slower disc rotation speed rather than a hard disk drive with a shorter access time, (ii) there is another problem that the data to be written next is not exactly continuous to the data written just before in the disc drive such as a CD-R, a DVD-R or the like because there is a need to make makers at intervals from the previously written data to the current data when resuming writing. Therefore, data is written at intervals on the tracks of the whole disc, which means useless free space to store the data is generated. As this free space occurs in a unit of some ten megabytes to 100 megabytes every time, the amount of the free space in the whole disc and the whole data storing system is not negligible when data writing is frequently stopped.
Therefore, the conventional tape drive performs the following steps of: first, calculating the data transmission rate between the data access control unit 111 and the internal buffers using the formula of “(transmitted data amount)/(transmission time)” whenever necessary or by always monitoring the data amount in the internal buffers; second, detecting the decrease in the transmission rate caused by the impossibility of reconnecting with the SCSI bus 112 or the state of the internal buffer that is going to overflow or underflow frequently; third, dynamically preventing the internal buffers from overflowing or underflowing by decreasing the tape running speed or by advancing the timing of reconnecting the bus; and finally, controlling the data access so as not to stop running the tape as much as possible.
The above-mentioned things are written in Japanese Laid-Open Patent application No. 05-307444.
In the conventional method, the data transmission rate between the data access control unit 111 and the internal buffer is calculated whenever necessary, the running speed of the tape is dynamically controlled monitoring the data amount in the internal buffer all the time, and the timing of reconnecting the bus is changed. However, there is a need to add several functions such as a data transmission rate calculation function, an internal buffer monitoring function, a tape running speed control function and a bus reconnect timing dynamically changing function to the drive unit. Therefore, there occurs a problem that the data storing system costs much resulting from the structure of the tape drive becoming complicated.
Also, as only reconnect control is performed based on the data transmission rate at the timing without considering the number of drive units connected with the same bus in the conventional method where the bus reconnect timing is dynamically controlled, there is a problem that the conventional method is not necessarily effective under the condition where a plurality of drive units exist on the same bus.